// constantRoutes静态路由,所有人都可以访问
import { asyncRoutes, constantRoutes } from '@/router'
// 定义权限页面的vuex函数
const state = {
  // 所有路由界面
  routes: []
}
const mutations = {
  // 封装函数,保存路由界面
  setRouter(store, data) {
    // 合并静态路由和过滤后的路由对象
    store.routes = [...constantRoutes, ...data]
  }
}
const actions = {
  filterPerm(store, menus) {
    // asyncRoutes当前所有路由列表
    // menus 传入的员工有的允许访问的页面的权限列表
    const routes = asyncRoutes.filter(item => menus.indexOf(item.name) !== -1)
    // 第二分支,触发mutations函数,保存数据到state中
    store.commit('setRouter', routes)
    console.log('路由页面', routes)
    // 第一分支,外出'导航守卫'页面结合 addRouters,添加路由.通过url可以访问到页面
    return routes
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
